package io.gitee.hchaojie.day08;

import org.junit.Test;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.UUID;

public class TestOOM {
    private static List<byte[]> list = new ArrayList<>();

    /**
     * OOM: OutOfMemoryError, 内存溢出
     *
     * @param args
     */
    public static void main(String[] args) {
        // 每个byte数组是 1024 * 1024 = 1M字节
        // 申请了2 * 1024次，一共需要2G内存。
        for (int i = 0; i < 1024 * 2; i++) {
            list.add(new byte[1024 * 1024]);
        }

        // 在我的电脑上，物理内存是8G，java初始堆大小为1.3G左右，最大堆大小为2.1G左右
        // java -XX:+PrintCommandLineFlags -version
        // -XX:InitialHeapSize=132067840 -XX:MaxHeapSize=2113085440
    }

    @Test
    public void test() {
        // List list = new ArrayList<>();

        // ArrayList arrayList = (ArrayList) list;

        // LinkedList linkedList = (LinkedList) list;

        // int[] array = new int[1];

        // array[2] = 1;

        String str = "abc";
        System.out.println(str.charAt(3));
    }
}
